題目:
例如, 2寫成II 羅馬數字,就是兩個一相加。12寫成 XII,就是簡單的X + II。數字27寫成XXVII,就是XX + V + II。
羅馬數字通常從左到右按從大到小的順序書寫。然而,表示四的數字不是IIII。相反,數字四寫作IV。因為一在五之前,所以我們減去一,得到四。同樣的原則也適用於數字九,它寫作IX。減法的使用有六種情況:
I可以放在V(5)和X(10)之前,形成4和9。
X可以放在L(50) 和C(100) 之前,以形成 40 和 90。
C可以放在D(500) 和M(1000) 之前,以形成 400 和 900。
給定一個羅馬數字,將其轉換為整數。
解題思路
建立一個 HashMap 存羅馬字元與數值的對應。
從左到右遍歷字串:
如果當前字元的值 < 下一個字元的值 → 減去它(表示組合成特殊數字)。
否則就直接加上它。
最後得到的結果就是答案。